<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
<title>1.a.27 发行注记</title><link href="../zdoc.css" rel="stylesheet" type="text/css"/><link href="../_rs/site.css" rel="stylesheet" type="text/css"/><script src="../_rs/jquery.js" language="Javascript"></script><script src="../_rs/site.js" language="Javascript"></script><script src="../_rs/z.js" language="Javascript"></script>
</head>
<body><a name="top"></a>
<div class="zdoc_header">1.a.27 发行注记</div>
<div class="zdoc_author"><em>By:</em><b>zozoh</b><a href="mailto:zozohtnt@gmail.com">&lt;zozohtnt@gmail.com&gt;</a><b>wendal</b><a href="mailto:wendal1985@gmail.com">&lt;wendal1985@gmail.com&gt;</a></div>
<div class="zdoc_body">
<ul class="zdoc_index_table">
<li>
<div><span class="num">1</span><a href="#前言">前言</a></div>
</li>
<li>
<div><span class="num">2</span><a href="#概述">概述</a></div>
</li>
<li>
<div><span class="num">3</span><a href="#问题修复">问题修复</a></div>
</li>
<li>
<div><span class="num">4</span><a href="#质量">质量</a></div>
</li>
<li>
<div><span class="num">5</span><a href="#文档">文档</a></div>
</li>
<li>
<div><span class="num">6</span><a href="#博客">博客</a></div>
</li>
<li>
<div><span class="num">7</span><a href="#主要贡献者名单">主要贡献者名单</a></div>
</li>
</ul>
<div class="hr"><b></b></div>
<h1><a name="前言"></a>前言</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<p>今天, Nutz社区自豪地宣布,Nutz 1.a.27版正式发布了! 本版有很多新功能,并修复了近30个issue,拥有改进的文档和更丰富的Demo.</p>
<ul type="disc">
<li>由于更多人试图通过更多的方法定制和使用 Nutz，所以遇到了更多的问题</li>
<li>这些问题都是对 Nutz 小幅的修正和调整</li>
<li>本次发布修复了其中绝大多数问题</li>
<li>所以我们强烈推荐你更新到这个版本.	<a href="http://code.google.com/p/nutz/downloads/list">马上下载</a></li>
</ul>
<p>曾有朋友建议将 Nutz 的级别调至 <b>b</b> (<i>beta</i>，因为现有的功能已经很稳定了。经过半年的不断修正，它在生产环境中的表现无论是开发效率还是灵活性上，完全不比很多 RC 框架差，甚至更好。 </p>
<p>但是我们还是坚持它是 alpha。</p>
<ul type="disc">
<li>因为我们并不认为把一个发布包的名字由 alpha 改为 beta，它就是 beta 品质的了。</li>
<li>我们认为只有它达到了我们心中	的 beta 品质，即，我们实在不认为有调整接口的必要了，我们才会将其升级成 beta。</li>
<li>起码一段时间内，我们还会继续保留修改 Nutz 主要接口和使用方法的权利。</li>
</ul>
<p>1.a.27 从另外一个角度来说，也是一个里程碑。从 09 年初的个人框架，到现在社区已经成为这个框架发展不可或缺的力量。</p>
<ul type="disc">
<li>新人可以很容易的加入到社区，并得到帮助</li>
<li>使用者提出的问题会得到及时的响应</li>
<li>每一个意见和建议都会得到讨论</li>
<li>被关注的问题很快可以得到修复。</li>
</ul>
<p>因此我们可以说，从这个版开始，它已经成为一个真正的开源框架了。</p>
<h1><a name="概述"></a>概述</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<p>这个版本是在 1.a.26 基础上的重要改进</p>
<ul type="disc">
<li>为 IdEntityService 和 IdNameEntityService 增加了 exists 函数，根据主键判断一条记录是否存在将更加轻松
<pre>IdNameEntityService&lt;Pet&gt; pets = new IdNameEntityService&lt;Pet&gt;(dao){};
pets.exists(34);
pets.exists("XiaoBai);
</pre>
</li>
<li>为 IdNameEntityService 增加了 smartFetch 函数，可以自动判断是根据 @Id 还是 @Name 来获取对象</li>
<li>mvc: Uploading速度提高一倍</li>
<li>ioc: 注入支持新的 Value 类型： sys</li>
<li>ioc: 支持使用XML作为配置文件</li>
<li>ioc: 通过配置文件添加AOP</li>
<li>mvc: 通过直接声明一个包来声明包中所有的类为Module</li>
</ul>
<div class="hr"><b></b></div>
<h1><a name="问题修复"></a>问题修复</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<ul type="disc">
<li><a href="http://code.google.com/p/nutz/issues/detail?id=68">68</a>	通过配置文件添加AOP	<span style="color:#AAAAAA;">by</span> <b>Chen.Bao.Yi</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=112">112</a>	通过直接声明一个包来声明包中所有的类为Module	<span style="color:#AAAAAA;">by</span> <b>Toni.xutao</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=119">119</a>	对@Id字段是否能在没有设置@Next的情况下，insert后自动把数据库中的id值回填到Entity中？	<span style="color:#AAAAAA;">by</span> <b>hzzdong</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=126">126</a>	Dao: 执行 Trans.exec for informix 出现 Castors 错误	<span style="color:#AAAAAA;">by</span> <b>jiongs753</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=127">127</a>	dao: NutTransaction 的实现代码有错误，在 commit 的时候 clear list 以及 close conn	<span style="color:#AAAAAA;">by</span> <b>jiongs753</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=128">128</a>	无法将自定义的EntityMaker注入到NutDao中	<span style="color:#AAAAAA;">by</span> <b>caiceclb</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=129">129</a>	Link的构造函数不方便自己实现的JPAEntityMaker	<span style="color:#AAAAAA;">by</span> <b>jiongs753</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=132">132</a>	DAO使用proxool做数据源会出警告	<span style="color:#AAAAAA;">by</span> <b>happyday0517</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=134">134</a>	log: 使用Nutz的log工具在eclipse控制台打印的日志无法通过点击链接后跟踪到调用的代码行	<span style="color:#AAAAAA;">by</span> <b>zozohtnt</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=135">135</a>	Daos.java在jdk5编译通不过，因为其中使用了java.sql.Statement.isClosed()方法。 造成Nutz不兼容JDK5。	<span style="color:#AAAAAA;">by</span> <b>jiongs753</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=136">136</a>	fastInsert 支持多一个参数，是否执行 @prev 		 <span style="color:#AAAAAA;">by</span> <b>happyday0517</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=139">139</a>	dao: DefaultEntityMaker代码逻辑错误	<span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=140">140</a>	DAO: 关于Entity和EntityField get\set Attribute	<span style="color:#AAAAAA;">by</span> <b>zozohtnt</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=142">142</a>	Disk.absolute(String, ClassLoader, String),当上层文件夹中包含非英文字符时,返回的path可能不正确	<span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=143">143</a>	org.nutz.ioc.impl.NutIoc无法设置MirrorFactory	<span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=144">144</a>	ioc: 注入应该支持新的 Value 类型： property	<span style="color:#AAAAAA;">by</span> <b>zozohtnt</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=147">147</a>	Nut.Aop没有提供示例	<span style="color:#AAAAAA;">by</span> <b>happyday0517</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=148">148</a>	Nut.Aop 当方法的返回值为基本数据类型,而拦截器的beforeInvoke返回false时,会出现NPE	<span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=149">149</a>	空json配置文件启动时会报错	<span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=150">150</a>	ActionFilter中能否多增加一个方法或在现有方法上加个参数，使实现类可以获得@At所注解的方法名	<span style="color:#AAAAAA;">by</span> <b>hzzdong</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=151">151</a>	关于upload File时候的性能问题</li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=153">153</a>	当类文件在中文路径下,org.nutz.lang.util.Resources.scanClasses()无法得到任何class <span style="color:#AAAAAA;">by</span> <b>wendal1985</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=154">154</a>	新的代码在JDK5，mysql下测试发现一个单元测试没有通过 <span style="color:#AAAAAA;">by</span> <b>hzzdong</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=157">157</a> MVC部分《请求范围模块》request 注入类型为空   <span style="color:#AAAAAA;">by</span> <b>axhack</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=160">160</a> 换1.a.27后找不到自定义sql   <span style="color:#AAAAAA;">by</span> <b>happyday0517</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=163">163</a> json: 获取属性值时，应该调用 getter   <span style="color:#AAAAAA;">by</span> <b>zozohtnt</b></li>
<li><a href="http://code.google.com/p/nutz/issues/detail?id=164">164</a> json: 字段类型为 Map&lt;String, List&lt;String&gt;&gt; 会抛错   <span style="color:#AAAAAA;">by</span> <b>zozohtnt</b></li>
</ul>
<div class="hr"><b></b></div>
<h1><a name="质量"></a>质量</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<ol type="1">
<li>共通过了 476 个单元测试用例,代码覆盖率达到62%(按line计算)</li>
<li>Nutz.Dao 经测试在如下数据库上可以工作正常
<ul type="disc">
<li><a href="http://www.h2database.com">H2</a></li>
<li><a href="http://www.mysql.com">MySql</a></li>
<li><a href="http://www.oracle.com">Oracle</a></li>
<li><a href="http://www.postgresql.org">Postgresql</a></li>
<li><a href="http://www.microsoft.com/hk/sql/default.mspx">SqlServer2005</a></li>
<li><a href="http://www.microsoft.com/hk/sql/default.mspx">SqlServer2000</a></li>
</ul>
</li>
</ol>
<div class="hr"><b></b></div>
<h1><a name="文档"></a>文档</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<ul type="disc">
<li>更新英文文档  <span style="color:#AAAAAA;">by</span> <b>mutang</b></li>
<li>添加Nutz插件页 <span style="color:#AAAAAA;">by</span> <b>wendal</b></li>
<li>整理 FAQ 文档</li>
</ul>
<div class="hr"><b></b></div>
<h1><a name="博客"></a>博客</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<ul type="disc">
<li>《<a href="http://bobby1222.javaeye.com/blog/585483">NUTZ与SQL SERVER2000兼容性问题</a>》@<a href="http://user.qzone.qq.com/104791117">Ge.PH /hl</a></li>
<li>《<a href="http://yongshan-ji.javaeye.com/blog/651119">Nutz DAO懒加载实体关联对象</a>》 @<a href="http://yongshan-ji.javaeye.com">天行健</a> <span style="color:#008800;"><b>推荐</b></span></li>
</ul>
<div class="hr"><b></b></div>
<h1><a name="主要贡献者名单"></a>主要贡献者名单</h1>
<div style="float:right;"><a href="#top">Top</a></div>
<p>贡献的种类:</p>
<ul type="disc">
<li>问题: 给项目的<a href="http://code.google.com/p/nutz/issues/list">问题列表</a>汇报一个上的问题，并且该问题被本次发布包括</li>
<li>博客: 在本版本开发期间，写过关于 Nutz 的文章，并被 <a href="http://code.google.com/p/nutz/wiki/appendix_resources">推荐列表</a>收录</li>
<li>支持: 总结至少出 FAQ 文档
<ul type="circle">
<li>关于 FAQ 文档的写作规范请先阅读： <a href="http://groups.google.de/group/nutzam/browse_thread/thread/4caf8181456b7adc?hl=zh-CN">Nutz 的虎年计划.5提供更好的社区支持</a></li>
</ul>
</li>
<li>代码: 提交过至少一个修订</li>
<li>Demo: 为 <a href="http://code.google.com/p/nutzdemo">Demo Site</a> 提交过代码</li>
<li>文档: 提交过文档，在讨论区发帖或者通过文档上的留言指出现有文档存在的问题</li>
<li>测试: 发布前，参与测试周，发布人给出的任务</li>
</ul>
<p>如有遗漏,请提醒我们 ^_^</p>
<p>http://docs.google.com/View?id=dc5jpf24_160gshjh436</p>
<table border="1" cellspacing="2" cellpadding="4">
<tr>
<td> 贡献者 									</td>
<td> 问题</td>
<td> 博客</td>
<td> 支持</td>
<td> 代码</td>
<td> Demo</td>
<td> 文档</td>
<td> 测试</td>
</tr>
<tr>
<td> <a href="http://amosleaf.javaeye.com">amosleaf</a>	</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
</tr>
<tr>
<td> <a href="http://axhack.javaeye.com">axhack</a>		</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> <a href="http://birdwindy.javaeye.com">BirdWyatt</a>	</td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> <a href="http://caiceclb.javaeye.com">caiceclb</a>	</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
</tr>
<tr>
<td> <a href="http://leon-a.javaeye.com">Chen.Bao.Yi</a>	</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> deadeye2k								</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
</tr>
<tr>
<td> <a href="http://e-hunter.javaeye.com">E-Hunter</a>	</td>
<td>  O  </td>
<td>  -  </td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
</tr>
<tr>
<td> <a href="http://www.ecplive.cn">hzzdong</a>			</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
</tr>
<tr>
<td> happyday0517								</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> <a href="http://hi.baidu.com/lifecube">mastung</a>	</td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  O  </td>
<td>  -	 </td>
</tr>
<tr>
<td> ming300									</td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> jiongs753(天行健)						</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> Toni.xutao								</td>
<td>  O  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -  </td>
<td>  -	 </td>
</tr>
<tr>
<td> <a href="http://wendal.javaeye.com">wendal</a>		</td>
<td>  O  </td>
<td>  -  </td>
<td>  O  </td>
<td>  O  </td>
<td>  O  </td>
<td>  O  </td>
<td>  O  </td>
</tr>
<tr>
<td> <a href="http://zozoh.javaeye.com">zozoh</a>			</td>
<td>  O  </td>
<td>  -  </td>
<td>  O  </td>
<td>  O  </td>
<td>  -  </td>
<td>  O  </td>
<td>  O  </td>
</tr>
</table>
<p>另外，非常感谢</p>
<ul type="disc">
<li><a href="https://groups.google.at/group/nutzam?hl=zh-CN">Nutzam 讨论区</a></li>
<li><a href="http://qun.qq.com/air/#75818186">Nutz QQ 群(75818186)</a></li>
<li><a href="http://qun.qq.com/air/#68315571">Nutz QQ 2群(68315571)</a></li>
<li>GTalk 聊天群 <span style="color:#AAAAAA;"><i>添加帐号 nutzam@chatterous.com 为好友，然后发送 @join 指令</i></span></li>
</ul>
<p>的朋友们，你们提出的任何问题，发表的任何言论，实际上都对这个小框架 <b>产生着潜移默化的影响</b>。我们也正在不断的努力，希望每一个新版本都能让大家获得更好的编程体验。</p>
</div>
<div class="zdoc_footer"><em>By:</em><b>zozoh</b><a href="mailto:zozohtnt@gmail.com">&lt;zozohtnt@gmail.com&gt;</a><b>wendal</b><a href="mailto:wendal1985@gmail.com">&lt;wendal1985@gmail.com&gt;</a></div>
</body>
</html>